#pragma once

#include "Character.h"
#include <SDLAnimation.h>
#include <string>
#include <sstream>

class Spell : public SDLAnimation
{
public:
	Spell();
	Spell(std::string name, std::string id, std::string type);
	Spell(std::string name, std::string id, std::string type, std::string filename);
	Spell(std::string name, std::string id, std::string type, std::string filename, int dstX, int dstY);
	~Spell();

	virtual void Cast(int value, Character caster, Character target) = 0;
	virtual void Cast(int value, Character caster, Character targets[], int chars) = 0;
	std::string GetName() { return name; }

protected:
	int value;
	std::string id;
	std::string name;
};

